Featherweight TeX and Parser Correctness

نویسندگان

  • Sebastian Erdweg
  • Klaus Ostermann
چکیده

TEX (and its LTEX incarnation) is a widely used document preparation system for technical and scientific documents. At the same time, TEX is also an unusual programming language with a quite powerful macro system. Despite the wide range of TEX users (especially in the scientific community), and despite a widely perceived considerable level of “pain” in using TEX, there is almost no research on TEX. This paper is an attempt to change that. To this end, we present Featherweight TEX, a formal model of TEX which we hope can play a similar role for TEX as Featherweight Java did for Java. The main technical problem which we study in terms of Featherweight TEX is the parsing problem. As for other dynamic languages performing syntactic analysis at runtime, the concept of “static” parsing and its correctness is unclear in TEX and shall be clarified in this paper. Moreover, it is the case that parsing TEX is impossible in general, but we present evidence that parsers for practical subsets exists. We furthermore outline three immediate applications of our formalization of TEX and its parsing: a macro debugger, an analysis that detects syntactic inconsistencies, and a test framework for TEX parsers.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parsers in TEX and using CWEB for general pretty-printing

The need to process formally structured languages inside TEX documents is neither new nor uncommon. Several graphics extensions for TEX (and LTEX) have introduced a variety of small specialized languages for their purposes that depend on simple (and not so simple) interpreters coded as TEX macros. A number of pretty-printing macros take advantage of different parsing techniques to achieve their...

متن کامل

Standard Type Soundness for Agents and Artifacts

Formal models, core calculi, and type systems, are important tools for rigorously stating the more subtle details of a language, as well as characterizing and studying its features and the correctness properties of its programs. In this paper we present FAAL (Featherweight Agent and Artifact Language), a formal calculus modelling the agent and artifact program abstractions provided by the simpA...

متن کامل

Feature Engineering in Persian Dependency Parser

Dependency parser is one of the most important fundamental tools in the natural language processing, which extracts structure of sentences and determines the relations between words based on the dependency grammar. The dependency parser is proper for free order languages, such as Persian. In this paper, data-driven dependency parser has been developed with the help of phrase-structure parser fo...

متن کامل

Performance of Structural Generalization in Connectionist Japanese Complex Sentence Parser

We propose the connectionist Japanese complex sentence parser JSPAC. JSPAC is composed of three modules, the simple sentence parser, the segmenter and the stack. The segmenter and the stack segment a complex sentence into simple sentences. The simple sentence parser generates a case structure from the segmented simple sentence. After training JSPAC with the learning data which we generated, we ...

متن کامل

Trustworthy variant derivation with translation validation for safety critical product lines

Software product line (SPL) engineering facilitates development of entire families of software products with systematic reuse. Model driven SPLs use models in the design and development process. In the safety critical domain, validation of models and testing of code increases the quality of the products altogether. However, to maintain this trustworthiness it is necessary to know that the SPL t...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010